@page
@inherits Acesoft.Web.UI.RazorPages.WebPage
@{
    ViewData["Title"] = "工作流管理";
    Layout = "_shared/back";

    Ace.Layout().Fit().Items(lay =>
    {
        lay.Add().Region(Region.west).Border(false).Split().MinWidth(200).Width(250).MaxWidth(300).Controls(wst =>
        {
            Ace.Layout().AppendTo(wst).Fit().Items(layout =>
            {
                layout.Add().Region(Region.north).Height(44).Controls(ctls =>
                {
                    Ace.Toolbar().AppendTo(ctls).Controls(c =>
                    {
                        Ace.Button().AppendTo(c).Text("添加").IconCls("fa fa-plus").Click("AX.treeAdd('#tree')");
                        Ace.Button().AppendTo(c).Text("编辑").IconCls("fa fa-edit").Click("AX.treeEdit('#tree', -1)");
                        Ace.Button().AppendTo(c).Text("删除").IconCls("fa fa-remove").Click("AX.treeDel('#tree', 0)");
                    });
                });
                layout.Add().Css("oy").Region(Region.center).Controls(ctls =>
                {
                    Ace.Tree().AppendTo(ctls).Id("tree").Root("业务分类").Edit("category")
                        .DataSource("wf.category").Ajax(ds => ds.HttpGet())
                        .Events(e => e.OnSelect("onSelect"));
                });
            });
        });

        lay.Add().Region(Region.center).Border(false).Controls(cnt =>
        {
            Ace.Layout().AppendTo(cnt).Fit().Items(layout =>
            {
                layout.Add().Border().Region(Region.north).Height(44).Controls(ctls =>
                {
                    Ace.Search().Id("search").AppendTo(ctls).For("grid").Controls(query =>
                    {
                        Ace.TextBox().Name("keyword").AppendTo(query).Label("关键字：");
                    })
                    .Tools(tools =>
                    {
                        Ace.Button().AppendTo(tools).Text("添加").IconCls("fa fa-plus").Click("gridAdd()");
                        Ace.Button().AppendTo(tools).Text("删除").IconCls("fa fa-remove").Click("AX.gridDel('#grid')");
                    });
                });
                layout.Add().Border(false).Region(Region.center).Controls(ctls =>
                {
                    Ace.DataGrid().Id("grid").AppendTo(ctls).Pagination()
                    .DataSource("wf.process").Ajax(ds => ds.HttpGet()).Columns(c =>
                    {
                        c.Add().Field("wfno").Title("流程编号").Width(5);
                        c.Add().Field("name").Title("流程名称").Width(10);
                        c.Add().Field("design").Title("流程图").Width(5).Format("action:onDesign=流程设计");
                        c.Add().Field("remark").Title("备注").Width(15);
                        c.Add().Field("orderno").Title("排序");
                        c.Add().Field("action").Title("操作").Format("button");
                    });
                });
            });
        });
    }).Render();
}
<script>
    function onSelect(node) {
        var id = $('#tree').tree('getSelectedId');
        if (id != null) $('#grid').datagrid('load', { _categoryid: id });
    }
    function onDesign(v, id) {
        window.location = 'index/design?wfid=' + id;
    }
    function gridAdd() {
        var id = $('#tree').tree('getSelectedId', { level: -1 });
        if (id != null) AX.gridAdd('#grid', AX.format('categoryid={0}', id));
    }
</script>